//dao-->model-->service
const userDao=require('../dao/userDao');
const md5=require('md5');
const toMd5=require('../utils/md5/md5');

//1.注册业务，先查找用户存在。不在则增加
async function  addUser(user){
    console.log(111111111111111,user);
    var ret=await userDao.findByName(user.name);
    if(ret.success){
        return {success:false,msg:"用户已存在"}
    }else{
        user.password=toMd5.toMd5(user.password);
        var data=await userDao.addUser(user);
        console.log(data);
        //在doc已做成数据，直接
        return data;
    }
}

//2.登录业务，找出用户，然后进行密码匹配
//数据库的密码进行了md5验证，故密码不能一般直接验证
//明文保存在cookie风险更大
async  function login(user){
    //ret是等于user.name，下面返回值也要是特指才行
    var ret=await userDao.findByName(user.name);
    console.log('ret:'+ret.user);
   //找到用户
    if(ret.success){
        var password = toMd5.toMd5(user.password);
        //console.log("pwd:"+password+"--res.pwd:"+ret.password+"--:"+(password==res.password));
        if (password == ret.user.password) {
            //看准返回值
            return {success: true, user: ret.user};
        } else {
            return {success: false, msg: '用户密码不正确'}
        }
    }else
    {
        return {success:false,msg:'用户not found'}
    }
}

async  function logincookie(user){
    var ret=await userDao.findByName(user.name);
    console.log('333333333333333'+ret);
    //找到用户
    if(ret.success){
        //var password = toMd5.toMd5(user.passeord);
        if (user.password == ret.user.password) {
            return {success: true, user: ret.user};
        } else {
            return {success: false, msg: '用户密码不正确'}
        }
    }else
    {
        return {success:false,msg:'用户not found'}
    }
}

exports.addUser=addUser;
exports.login=login;
exports.logincookie=logincookie;